home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1997 / HAM Radio 1997.iso / vcls / moden / adexcept.int < prev    next >
Text File  |  1996-04-08  |  4KB  |  129 lines

  1. {$G+,X+,F+}
  2.  
  3. {Conditional defines that may affect this unit}
  4. {$I AWDEFINE.INC}
  5.  
  6. {*********************************************************}
  7. {*                  ADEXCEPT.PAS 1.01                    *}
  8. {*        Copyright (c) TurboPower Software 1995         *}
  9. {*                 All rights reserved.                  *}
  10. {*********************************************************}
  11.  
  12. unit AdExcept;
  13.   {-APD exceptions}
  14.  
  15. interface
  16.  
  17. uses
  18.   {!!.01 modified}
  19.   {-----RTL}
  20.   Messages,
  21.   WinTypes,
  22.   SysUtils,
  23.   Classes,
  24.   {-----APD}
  25.   OoMisc;
  26.  
  27. type
  28.   {General APD exception class}
  29.   EAPDException = class(Exception)
  30.   private
  31.     FErrorCode : Integer;
  32.  
  33.   public
  34.     constructor Create(const EC : Integer);
  35.     constructor CreateUnknown(const Msg : String);
  36.  
  37.     class function MapCodeToStringID(const Code : Integer) : Word;
  38.       {-Return a string table index for Code}
  39.  
  40.     property ErrorCode : Integer
  41.       read FErrorCode write FErrorCode;
  42.   end;
  43.  
  44.   {APD exception groups}
  45.   EGeneral      = class(EAPDException);
  46.   EOpenComm     = class(EAPDException);
  47.   ESerialIO     = class(EAPDException);
  48.   EModem        = class(EAPDException);
  49.   ETrigger      = class(EAPDException);
  50.   EProtocol     = class(EAPDException);
  51.   EINI          = class(EAPDException);
  52.   EFax          = class(EAPDException);
  53.  
  54.   {Specific general exceptions}
  55.   EBadHandle            = class(EGeneral);
  56.   EBadArgument          = class(EGeneral);
  57.   EGotQuitMsg           = class(EGeneral);
  58.   EBufferTooBig         = class(EGeneral);
  59.   EPortNotAssigned      = class(EGeneral);
  60.   EInternal             = class(EGeneral);
  61.   EModemNotAssigned     = class(EGeneral);
  62.   EPhonebookNotAssigned = class(EGeneral);
  63.  
  64.   {Specific OpenComm exceptions}
  65.   EBadId                = class(EOpenComm);
  66.   EBaudRate             = class(EOpenComm);
  67.   EByteSize             = class(EOpenComm);
  68.   EDefault              = class(EOpenComm);
  69.   EHardware             = class(EOpenComm);
  70.   EMemory               = class(EOpenComm);
  71.   ECommNotOpen          = class(EOpenComm);
  72.   EAlreadyOpen          = class(EOpenComm);
  73.   ENoHandles            = class(EOpenComm);
  74.   ENoTimers             = class(EOpenComm);
  75.  
  76.   {Specific serial I/O exceptions}
  77.   ENullApi              = class(ESerialIO);
  78.   ENotSupported         = class(ESerialIO);
  79.   ERegisterHandlerFailed= class(ESerialIO);
  80.   EPutBlockFail         = class(ESerialIO);
  81.   EGetBlockFail         = class(ESerialIO);
  82.   EOutputBufferTooSmall = class(ESerialIO);
  83.   EBufferIsEmpty        = class(ESerialIO);
  84.   ETracingNotEnabled    = class(ESerialIO);
  85.   ELoggingNotEnabled    = class(ESerialIO);
  86.  
  87.   {Specific modem exceptions}
  88.   EModemNotStarted      = class(EModem);
  89.   EModemBusy            = class(EModem);
  90.   EModemNotDialing      = class(EModem);
  91.  
  92.   {Specific dialer exceptions}
  93.   EAlreadyDialing       = class(EModem);
  94.   ENotDialing           = class(EModem);
  95.  
  96.   {Specific trigger exceptions}
  97.   ENoMoreTriggers       = class(ETrigger);
  98.   ETriggerTooLong       = class(ETrigger);
  99.   EBadTriggerHandle     = class(ETrigger);
  100.  
  101.   {Specific protocol exceptions}
  102.   ETimeout              = class(EProtocol);
  103.   ETooManyErrors        = class(EProtocol);
  104.   ESequenceError        = class(EProtocol);
  105.  
  106.   {Specific INI database exceptions}
  107.   EKeyTooLong           = class(EINI);
  108.   EDataTooLarge         = class(EINI);
  109.   EIniWrite             = class(EINI);
  110.   EIniRead              = class(EINI);
  111.   ERecordExists         = class(EINI);
  112.   ERecordNotFound       = class(EINI);
  113.   EDatabaseFull         = class(EINI);
  114.   EDatabaseEmpty        = class(EINI);
  115.   EBadFieldList         = class(EINI);
  116.   EBadFieldForIndex     = class(EINI);
  117.  
  118.   {.Z+}
  119.   {Specific FAX exceptions}
  120.   EFaxBadFormat         = class(EFax);
  121.   EBadGraphicsFormat    = class(EFax);
  122.   EUnpackAbort          = class(EFax);
  123.   ECantMakeBitmap       = class(EFax);
  124.  
  125.   function CheckException(const Ctl : TComponent;
  126.                           const Res : Integer) : Integer;
  127.   {.Z-}
  128.  
  129.